<template>
	<view>
		<view class="viewport">
			<!-- 地址列表 -->
			<scroll-view enable-back-to-top class="scroll-view" scroll-y>
				<view v-if="addressList.length" class="address">
					<uni-swipe-action class="address-list">
						<!-- 收货地址项 -->
						<uni-swipe-action-item class="item" v-for="item in addressList" :key="item.id">
							<view class="item-content" @tap="onChangeAddress(item)">
								<view class="user">
									{{ item.address_name }}---
									<text class="contact">{{ item.phone }}</text>
									<text v-if="item.isDefault" class="badge">默认</text>
								</view>
								<view class="locate">{{ item.address_txt }}</view>
								<!-- H5 端需添加 .prevent 阻止链接的默认行为 -->
								<navigator class="edit" hover-class="none" open-type="navigate"
									:url="`/pages/address/address_updata/address_updata?id=${item.address_id}`" @tap.stop="">
									修改
								</navigator>
							</view>
							<!-- 右侧插槽 -->
							<template #right>
								<button @tap="onDeleteAddress(item.address_id)" class="delete-button">删除</button>
							</template>
						</uni-swipe-action-item>
					</uni-swipe-action>
				</view>
				<view v-else class="blank">暂无收货地址</view>
			</scroll-view>
			<!-- 添加按钮 -->
			<view class="add-btn">
				<navigator hover-class="none" url="/pages/address/address-add/address-add">
					新建地址
				</navigator>
			</view>
		</view>
	</view>
</template>

<script>
	import store from '@/store/index.js'
	import {
		mapState,
		mapMutations,
		mapActions,
		mapGetters
	} from 'vuex'
	export default {
		data() {
			return {}
		},
		methods: {
			...mapMutations('user', ['get_addressList']),
			onChangeAddress() {

			},

			onDeleteAddress(id) {
				console.log(1)
				uni.request({
					url: 'http://localhost:3000/users/address/delete',
					method: 'post',
					data: [id],
					success: (res) => {
						console.log(res)
						this.get_addressList(this.user.userId)
					},
					fail() {
						console.log(2)
					}
				});
			}
		},
		computed: {
			...mapState('user', ['user', 'addressList']),

		},
		created() {
			this.get_addressList(this.user.userId)
		}
	}
</script>

<style lang="scss" scoped>
	page {
		height: 100%;
		overflow: hidden;
	}

	/* 删除按钮 */
	.delete-button {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 50px;
		height: 100%;
		font-size: 28rpx;
		color: #fff;
		border-radius: 0;
		padding: 0;
		background-color: #cf4444;
	}

	.viewport {
		display: flex;
		flex-direction: column;
		height: 100%;
		background-color: #f4f4f4;

		.scroll-view {
			padding-top: 20rpx;
		}
	}

	.address {
		padding: 0 20rpx;
		margin: 0 20rpx;
		border-radius: 10rpx;
		background-color: #fff;

		.item-content {
			line-height: 1;
			padding: 40rpx 10rpx 38rpx;
			border-bottom: 1rpx solid #ddd;
			position: relative;

			.edit {
				position: absolute;
				top: 36rpx;
				right: 30rpx;
				padding: 2rpx 0 2rpx 20rpx;
				border-left: 1rpx solid #666;
				font-size: 26rpx;
				color: #666;
				line-height: 1;
			}
		}

		.item:last-child .item-content {
			border: none;
		}

		.user {
			font-size: 28rpx;
			margin-bottom: 20rpx;
			color: #333;

			.contact {
				color: #666;
			}

			.badge {
				display: inline-block;
				padding: 4rpx 10rpx 2rpx 14rpx;
				margin: 2rpx 0 0 10rpx;
				font-size: 26rpx;
				color: #27ba9b;
				border-radius: 6rpx;
				border: 1rpx solid #27ba9b;
			}
		}

		.locate {
			line-height: 1.6;
			font-size: 26rpx;
			color: #333;
		}
	}

	.blank {
		margin-top: 300rpx;
		text-align: center;
		font-size: 32rpx;
		color: #888;
	}

	.add-btn {
		position: fixed;
		left: 0;
		right: 0;
		bottom: calc(var(--window-bottom));
		z-index: 1;
		height: 80rpx;
		text-align: center;
		line-height: 80rpx;
		margin: 30rpx 20rpx;
		color: #fff;
		border-radius: 80rpx;
		font-size: 30rpx;
		background-color: #27ba9b;
	}
</style>